﻿using System;

namespace EncryptionLib.Users
{
    public interface IUserManager
    {
        int GetCount();
        UserData GetUser(int index);
        UserData GetUser(string sUserID, Func<string, UserData, bool> fnChecker);
        UserData GetUserByEmail(string sEmail);
        bool Register(UserData userData);
        bool UpdateUserData(UserData userData);
        UserData Login(string sUserID, string sPassphrase, Func<string, UserData, bool> fnLoginChecker);
        UserData LoginByEmail(string sEmail, string sPassphrase);
        void Clear();
        void SaveData();
    }
}
